#include "basic_fun.h"

void selection_sort(int* array, int count);

int
main(void)
{
	int array[10] = {0};
	int array_size = get_array_size(array);
	generate_array(array, array_size);
	do_sort(array, array_size, selection_sort);
	return 0;
}

void selection_sort(int* array, int count)
{
	// 将数组元素分为已排序和未排序两类
	// 从未排序元素中选出最小的，放到未排序元素的首位
	// 并标记为已排序
	int n = 0;
	int sorted_index = -1;

	for (n = 0; n < count; n++)
	{
		int k = 0;
		for (k = sorted_index + 2; k < count; k++)
		{
			if (array[k] < array[sorted_index + 1])
			{
				int temp = array[sorted_index + 1];
				array[sorted_index + 1] = array[k];
				array[k] = temp;
			}
		}
		sorted_index++;
	}
}
